package ink.tiptop.learn.mapper.test;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ink.tiptop.learn.pojo.po.test.TestUserBaseInfoPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author zjf
 * @date 2020-08-17 08:28
 * 可以继承或者不继承BaseMapper
 */
@Mapper
public interface A_PageQueryMapper extends BaseMapper<TestUserBaseInfoPO> {
    /**
     * <p>
     * 自定义一个分页查询 : 根据id查询用户列表，分页显示
     * </p>
     *
     * @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象)
     * @param id
     * @return 分页对象
     *
     *
     * 不进行 count sql 优化，解决 MP 无法自动优化 SQL 问题，这时候你需要自己查询 count 部分
     * page.setOptimizeCountSql(false);
     * 当 total 为小于 0 或者设置 setSearchCount(false) 分页插件不会进行 count 查询
     * 要点!! 分页返回的对象与传入的对象是同一个
     *
     */
    IPage<TestUserBaseInfoPO> selectPageVo(Page<TestUserBaseInfoPO> page,@Param("id") Integer id);
}
